<?php
header("content-type:text/html;charset=utf-8");
include_once "databases.php";
session_start();
class fun {
    /**
     * 成功信息
     * @param $msg 成功文本信息
     * @param string|Array $data 额外携带的数据（字符串或数组类型），默认为空字符串
     * @return string 返回json字符串
     */
    public function success($msg,$data=""){
        $res_data = [
            "msg"=>$msg,
            "data"=>$data,
            "code"=>1
        ];
        return json_encode($res_data);
    }
    /**
     * 错误信息
     * @param string $msg 错误文本信息
     * @param string|Array $data  额外携带的数据（字符串或数组类型），默认为空字符串
     * @return string 返回json字符串
     */
    public function error($msg,$data=""){
        $res_data = [
            "msg"=>$msg,
            "data"=>$data,
            "code"=>0
        ];
        return json_encode($res_data);
    }
    /**
     * 检测用户是否登录
     * @return bool true表示登录，false表示未登录
     */
    public function check_login(){
        //检测用户session是否
        if(isset($_SESSION['user_info'])) {
            return true;
        }else{
            if(isset($_COOKIE['remember_token'])){
                $login_sql = "select id,name,picture,email,phone from user where id = ".$_COOKIE["userid"];
                $_SESSION['user_info'] = $db->getOneDate($login_sql);
                return true;
            }else{
                return false;
            }
        }
    }
    /**
     * 退出登录
     * @param bool $forget 如果为true表示忘记我，如果为false表示记得我，默认为false
     * @return bool true 始终为true，退出清空session，甚至联通cookie一起清除
     */
    public function logout(){
        // 销毁会话
        session_destroy();
        // 如果需要删除会话cookie
        if (ini_get("session.use_cookies")) {
            $params = session_get_cookie_params();
            setcookie(session_name(), '', time() - 42000,
                $params["path"], $params["domain"],
                $params["secure"], $params["httponly"]
            );
        }
        // 删除"记住我"cookie
        if (isset($_COOKIE['remember_token'])) {
            setcookie('remember_token', '', time() - 3600, '/');
        }
        if (isset($_COOKIE['userid'])) {
            setcookie('userid', '', time() - 3600, '/');
        }
        return true;
    }
}
$fun = new fun();